package com.example.kingdeescan.ui.dtype;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;

import com.example.kingdeescan.R;
import com.example.kingdeescan.R2;
import com.example.kingdeescan.enums.DocType;

import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProviders;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;

import static com.example.kingdeescan.MainActivity.docInfoDTO;

/**
 * author  : zly
 * e-mail  : 2444639551@qq.com
 * date    : 2020/7/14 15:11
 * alter   : zly
 * version : 1.0
 * desc    :
 * address : Kingdee in Zhangzhou
 */
public class DTypeFragment extends Fragment implements View.OnClickListener {

    private DTypeViewModel dTypeViewModel;

    @BindView(R2.id.ll_ssck)
    LinearLayout ll_ssck;//销售出库图标

    Unbinder unbinder;//绑定ButterKnife视图

    /**
     * 设置单据类型点击的接口
     * 声明了一个接口，来回调其点击事件，想要 管理其点击事件的Activity实现此接口就即可
     */
    public interface FDTypeClickListener{
        void onFssckClick(View v);//销售出库点击回调
    }

    public View onCreateView(@NonNull LayoutInflater inflater,
                             ViewGroup container, Bundle savedInstanceState) {
        dTypeViewModel =
                ViewModelProviders.of(this).get(DTypeViewModel.class);
        View root = inflater.inflate(R.layout.fragment_dtype, container, false);
        //返回一个Unbinder值（进行解绑），注意这里的this不能使用getActivity()
        unbinder = ButterKnife.bind(this, root);

//        final TextView textView = root.findViewById(R.id.text_dtype);
//        dTypeViewModel.getText().observe(this, new Observer<String>() {
//            @Override
//            public void onChanged(@Nullable String s) {
//                textView.setText(s);
//            }
//        });

        initComponet();

        return root;
    }

    /**
     * 初始化组件
     */
    private void initComponet(){
        ll_ssck.setOnClickListener(this);
    }

    /**
     * 交给宿主Activity处理点击事件，如果它希望处理
     * @param v
     */
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.ll_ssck://点击销售出库
                //判断了当前绑定的Activity是否实现了该接口，如果实现了 则调用
                if (getActivity() instanceof FDTypeClickListener)
                {
                    ((FDTypeClickListener) getActivity()).onFssckClick(v);
                }
                docInfoDTO.setDocType(DocType.DOC_TYPE_SSCK);//存储单据类型

                break;
        }
    }

    /**
     * onDestroyView中进行解绑操作
     */
    @Override
    public void onDestroyView() {
        super.onDestroyView();
        unbinder.unbind();//解绑butterknife视图
    }
}